#include <stdio.h>
#include <unistd.h>

//测试孤儿进程
//int main()
//{
//  int ret = fork();
//  if(ret == 0)
//  {//son 
//    while(1)
//    {
//      printf("我是子进程，pid：%d，ppid：%d\n",getpid(),getppid());
//      sleep(1);
//    }
//  }else if(ret > 0)
//  {//father
//    int count = 10;
//     while(1)
//     {
//      printf("我是父进程，pid：%d，ppid：%d\n",getpid(),getppid());
//      sleep(1);
//      if(count-- <= 0) break;
//     }
//  }else 
//  {
//    printf("子进程创建失败!\n");
//  }
//  return 0;
//}



//测试PATH
//int main()
//{
//  int count = 5;
//  while(count)
//  {
//    printf("hello %d\n",count--);
//    sleep(1);
//  }
//  return 0;
//}

#include <stdlib.h>
//通过代码获取环境变量
//int main(int argc,char *argv[],char *envp[])
//int main()
//{
//  char *user = getenv("USER");
//  if(user == NULL) perror("getenv");
//  else printf("USER:%s\n",user);
//    //extern char **environ;
    // for(int i = 0;environ[i];i++)
    //   {
    //    printf("environ[%d]->%s\n",i,environ[i]);
    //   }
    //// char *envp[]; // 字符指针数组
   //  for(int i = 0;envp[i];i++)
   //  {
   //      printf("envp[%d]->%s\n",i,envp[i]);
   //  }
//    return 0;
//}


//测试HOME
#include <string.h>
#define USERNAME "pcj"

//int main()
//{
//  char *user = getenv("USER");
//  if(strcmp(user,USERNAME) == 0)
//  {
//        printf("是本用户可以执行\n");
//  }else
//  {
//       printf("不是本用户不可以执行\n");
//  }
//  return 0;
//}


//int main()
//{
//  char* h = getenv("hello1");
//  if(h == NULL) perror("getenv");
//  else printf("h:%s\n",h);
//  return 0;
//}
